import Mock from 'mockjs'
import { getUrlParams } from '@/utils'

function createList(pageNo = 1) {
  // 生成列表开始的index
  const start = pageNo * 10 - 9
  // 通过mock创建对应的数据
  return Mock.mock({
    // 表示生成一个名称为data的数组，在data里生成10个类似的对象
    'data|10': [
      {
        // id, 以指定的数字，每次生成数据时+1
        'id|+1': start,
        // 创建一个中文姓名
        title: '@cname',
        // 生成一个图片
        image: '@image("375x100", "@color", "@name")',
        // 创建一个随机ID
        key: '@guid',
      },
    ],
  })
}

// 返回给路由组件用的方法，相当于是react里的组件本身
export default function (params: any) {
  // 使用mock创建返回消息
  return Mock.mock({
    // 接口消息
    msg: 'success',
    // 接口状态
    status: 200,
    // 接口的数据
    data: createList(getUrlParams(params.url, 'pageNo')),
  })
}
